package com.iamteer.day13;

import java.util.Arrays;
import java.util.Properties;

/**
主要回顾：System 类

System 类主要用来获取系统的属性数据

System 类的常用方法：
	arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
	
	currentTimeMillis();	//获取当前时间，以 ms 表示，
	
	exit(int status);		//退出 JVM，status 为 0 表示正常退出，非 0 表示异常退出
	
	gc();	//建议 JVM 赶紧启动垃圾回收器回收垃圾
	
	finalize();	//如果一个对象被垃圾回收器回收时，会先调用对象的 finalize 方法
	
	getenv(String name);	//获取指定的环境变量
	
	getProperties();		//获取系统属性
	 
 */
class Human{
	String name;
	public Human(String name){
		this.name = name;
	}
	public void finalize() throws Throwable{
		super.finalize();
		System.out.println(this.name + " 被回收了");
	}
}


public class SystemClass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] srcArr = {0, 1, 2, 3, 4};
		int[] destArr = new int[3];
		
		System.arraycopy(srcArr, 1, destArr, 0, 3);		//数组复制
		System.out.println(Arrays.toString(destArr));
		
		System.out.println(System.currentTimeMillis());	//获取系统时间
		
		//测试 gc() 方法
		for (int i = 0; i < 4; i++) {
			new Human("Test"+i);
			System.gc();
		}		
		
		//获取环境变量
		System.out.println(System.getenv("PATH"));
		System.out.println(System.getenv());
		
		//获取系统属性
		Properties properties = System.getProperties();
		properties.list(System.out);
		System.out.println(System.getProperty("os.name"));
		
	}

}
